package com.dcy.daily.skill.jvm.memoryAlloc.toolsOfJvm;

/**
 * JHSDB:基于服务性代理的调试工具 p152，查询staticObj、instanceObj、localObj对象在内存中的位置。
 * 在Jdk1.8打开JHSDB不是书中所介绍的方法，采用以下方式进行打开。可采用jdk16来测试该代码
 * java -cp E:\DCY\compile\Java\jdk1.8.0_201\lib\sa-jdi.jar sun.jvm.hotspot.HSDB
 *
 * @author duanchunyu
 * @version 1.0.0
 * @createTime 2021年05月26日 21:03:00
 */
public class JHSDB_Usage {

    static class Test {
        static ObjectHolder staticObj = new ObjectHolder();
        ObjectHolder instanceObj = new ObjectHolder();

        void foo() {
            ObjectHolder localObj = new ObjectHolder();
            System.out.println("done");
        }
    }

    private static class ObjectHolder {}

    /**
     * @description
     * -Xmx10m -XX:+UseSerialGC -XX:-UseCompressedOops
     * @author duanchunyu
     * @updateTime 2021/5/26 21:09
     * @throws
     */
    public static void main(String[] args) {
        Test test = new JHSDB_Usage.Test();
        test.foo();
    }
}
